package Employee1;

class HourlyEmployee extends Employee{
    private double hourlySalary;  //定义属性hourlySalary每小时的工资
    private int hours; 			  //定义属性hours每月工作的小时数
    public HourlyEmployee(){}    //无参构造方法
    //有参构造方法  参数 姓名 生日月份  每小时的工资 每月工作的小时数
    public HourlyEmployee(String name,int month,double hourlySalary,int 			hours){
        super(name,month);                  	//调用父类有参构造方法
        this.hourlySalary = hourlySalary ;	//为属性hourlySalary初始化赋值
        this.hours = hours; 				//为属性hours 初始化赋值
    }
    public double getHourlySalary(){    //获取hourlySalary的值
        return hourlySalary;
    }
    public int getHours(){             //获取hours的值
        return hours;
    }
    //定义set方法设置hourlySalary  hours的值
    public void setHourlySalary(double hourlySalary){
        this.hourlySalary =hourlySalary;
    }
    public void setHourly(int hours){
        this.hours = hours;
    }
    //覆盖父类方法
    public double getSalary(int month){
        if(hours < 0){      //如果工作小时数小于0  输出数据错误
            System.out.println("数据错误");
            return 0;
        }
        //小于160个小时的 按照每个月的工作小时数乘以每小时的工资
        else if(hours <= 160)
            return hourlySalary*hours+super.getSalary(month);
        //超出160个小时的小时数 按照1.5倍计算
        else return hourlySalary*160+hourlySalary*1.5*(hours-						160)+super.getSalary(month);
    }
}
